package com.tedu.basic.homework;

import java.util.Scanner;

/*1.通过程序 出10道计算题，用户输入答案 会提示正确或错误 最后提示答对的个数
  2.计算9+99+999+9999+....+9999999999(10个9)
  3.输入一个整数 计算各个位的数字和
  4.计算1000以内的水仙花数：1^3+5^3+3^3=153 (各个位数上的数三次方的和等于该数本身)
  5.计算前10个斐波那契列数  1,1,2,3,5,8,13,21,34,55... 第一，二位数都是1，从第三位开始是前面两位数的和
    f[n]=f[n-1]+f[n-2]
 */
public class work1 {
    public static void main(String[] args) {
        t3();
    }
    //1.通过程序 出10道计算题，用户输入答案 会提示正确或错误 最后提示答对的个数
    public static void t1(){
        /*1.通过程序 出10道计算题，用户输入答案 会提示正确或错误 最后提示答对的个数
        1+1 2+2 3+3 4+4 5+5 6+6 7+7 8+8 9+9 10+10
       */
        int count=0;
        for (int i = 1; i <=10 ; i++) {
            int sum=i+i;
            System.out.print(i+"+"+i+"=: ");
            int num=new Scanner(System.in).nextInt();
            if(num==sum){
                ++count;
                System.out.println("正确");
            }else {
                System.out.println("错误");
            }

        }
        System.out.println("共答对"+count+"道题");






    }

    //2.计算9+99+999+9999+....+9999999999(10个9)
    public static void t2(){
        long a=9L;
        long c=0L;
        long b=10L;
        for (int i = 0; i <10; i++) {
            c=c+a;
            a=a+(9*b);
            b=(b*10L);
        }
        System.out.println(c);


    }

    //3.输入一个整数 计算各个位的数字和
    /*
        int num=10102;
        int sum=0;
        for(;num!=0;num/=10){
            sum+=num%10;
        }
        System.out.println(sum);
     */
    public static void t3(){
        int x=0;int sum=0;
        int a=new Scanner(System.in).nextInt();
        while(true){
            // eg:输入20405
            x=a%10;//
            sum=sum+x;//5+0+4+0+2

            if(a/10==0){
                break;
            }

            a=a/10;//2040 204 20 2

        }
        System.out.println(sum);

    }

    //4.计算1000以内的水仙花数：1^3+5^3+3^3=153 (各个位数上的数三次方的和等于该数本身)
    public static void t4(){
        int a=0;
        int x=0;int y=0;int z=0;
        for (int i =0; i <1000; i++) {
            x=i/100;y=(i%100)/10;z=i%100%10;
            if(x*x*x+y*y*y+z*z*z==i){
                ++a;
            }
        }
        System.out.println(a);

    }


    //计算前10个斐波那契列数  1,1,2,3,5,8,13,21,34,55... 第一，二位数都是
    // 1从第三位开始是前面两位数的和
    //    f[n]=f[n-1]+f[n-2]
    public static void t5(){
        int a1=1;int a2=1;
        for (int i = 0; i <10; i++) {
            if(i<2){
                System.out.print(1+",");
                continue;
            }
            //从第三个数开始计算
            int a=a2;//1 2 3
            a2=a2+a1;//1+1=2 2+1=3 3+2=5    第三个数
            a1=a;//1 2 3
            System.out.print(a2+",");
        }


    }



}
